﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclSolcred;
using com.creditos.be.liclUtil;

namespace liclSolcred.Views
{
    public class FormsPendienteAprobacionPresenter : liclSolcred.Views.Viewer<IFormsPendienteAprobacionView>
    {
        liclSolcredController oController = new liclSolcredController();
        public void ListarParametros(int intCodigoTabla)
        {
            try
            {
                List<ParametroBE> lstParametro = new List<ParametroBE>();
                lstParametro = oController.ListarParametros(new ParametroBE { CodigoTabla = intCodigoTabla });
                View.CargarParametros(lstParametro);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ObtenerListaSolicitudesXAprobar(ApruebaBE oAprueba)
        {
            try
            {
                List<ApruebaBE> lst = new List<ApruebaBE>();
                lst = oController.ObtenerListaSolicitudesXAprobar(oAprueba);
                View.CargarListaSolicitudesXAprobar(lst);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<ProductoBE> lstProductos = new List<ProductoBE>();
                lstProductos = oController.ListarProductos(oProductoBE);
                View.CargarProductos(lstProductos);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarSubProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<SubProductoBE> lstSubProductos = new List<SubProductoBE>();
                lstSubProductos = oController.ListarSubProductos(oProductoBE);
                View.CargarSubProductos(lstSubProductos);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ObtenerListaResultadoReglas(ApruebaBE oAprueba)
        {
            try
            {
                List<ApruebaBE> lst = new List<ApruebaBE>();
                lst = oController.ObtenerListaResultadoReglas(oAprueba);
                View.CargarListaResultadoReglas(lst);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void AprobarSolicitudCredito(ApruebaBE oAprueba)
        {
            try
            {                
                oController.AprobarSolicitudCredito(oAprueba);                
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void CalcularTasa(SolicitudBE oSolicitud)
        {
            try
            {
                View.CargarCaluloTasa(oController.CalcularTasa(oSolicitud));
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }
    }
}
